\documentclass[11pt]{article}
\author{Ivan Bogouchev \and Ognyan Pertchev \and Gueorgui Tzotchev}
%\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage{graphicx}
\usepackage{verbatim}
\title{FOGE2 le retour}
\frenchspacing
\begin{document}
\maketitle

\section{Intrduction / Pr\'esentation g\'en\'erale du projet}
FOGE est une collection de modules perl destin\'e \`a faciliter la
cr\'eation de questionaires pour le web et l'analyse des informations
recueillies \`a l'aide de  ces questionnaires.

Un tel questionnaire est d\'ecrit dans un script perl, qui est capable
de servir la page html visualisant le questionnaire, d'ins\'erer dans
une base de donn\'ees les informations reçus, de visualiser des
statistiques sur les r\'eponses et d'initialiser les tables SQL
n\'ec\'essaires pour le stockage des r\'eponses.

\subsection{Structure d'un questionnaire}
Le script perl d\'ecrivant le questionnaire cr\'ee un objet de la
classe Form, qu'on appellera la forme par la suite.
La forme contient des sections (des objets de la classe Section), qui
sont des collections de questions (objets de classes descendant de la
classe Question).

\includegraphics[width=10cm]{form}

\subsection{Les types de questions}
\begin{description}

\item[TextField, TextArea] sont des questions qui supposent des
  r\'eponses en texte libre (un peu plus long pour le TextArea);

\includegraphics[width=10cm]{textfield}

\includegraphics[width=10cm]{textarea}

\item[RadioButton, Menu et MultMenu] sont utiles pour des questions
  qui proposent des r\'eponses pr\'ed\'efinies sous forme d'un groupe
  de checkbox-s ou radio buttons pour RadioButton, ou un menu pour
  Menu et MultMenu

\includegraphics[width=10cm]{radiobutton}

\includegraphics[width=10cm]{menu}

\includegraphics[width=10cm]{multmenu}

\item[ThenNow] sert \`a poser une m\^eme question mais pour plusieurs
  p\'eriodes diff\'erents.

\begin{verbatim}
                                         +------+-----+--------+
 Choose your                             | blue | red | yellow |
 favorite                 +--------------+------+-----+--------+
 color:                   | at that time |  X   |     |        |
                          | today        |      |     |   X    |
                          +--------------+------+-----+--------+
\end{verbatim}


\end{description}

\subsection{Les statistiques}

Les statistiques sont repr\'esent\'ees par des objets de la classe
FormStats pour les statistiques concernant la forme en entier et des
sous classes de la classe Stats pour les statistiques concernant les
questions.

\begin{description}

\item[StatsFree] sont convenables pour extraire les r\'eponses \`a des
  questions de type TextField et TextArea.

\includegraphics[width=10cm]{statsfree}

\item[StatsSimple] sont convenables pour les RadioButton, Menu et
  MultMenu, proposant un tableau contenant les fr\'equences, fr\'equences
  cumul\'ees, fr\'equences relatives et fr\'equences relatives cumul\'ees des
  r\'eponses.

\includegraphics[width=10cm]{statssimple}

\item[StatsPiechart] - repr\'esentations graphique de la r\'epartition des
  r\'eponses sous forme de diagramme \`a secteurs.

\includegraphics[width=10cm]{statspiechart}

\end{description}

\section{Limites de l'existant}

\begin{itemize}

\item Toutes les statistiques sont choisies au moment de la cr\'eation
  du questionnaire. On aimerait pouvoir les choisir lors de la
  consultations des r\'eponses.

\item Il n'y a pas moyen de filtrer l'ensemble sur lequelle on cherche
  des statistiques.

\item V\'erifications des droits tr\`es basics sur les actions
  effectu\'ees

\item Manque de questions li\'ees logiquement (par exemple demander le
  nombre d'heures qu'un \'etudiant travaille seulement s'il a
  r\'epondu par oui \`a la question s'il travialle).

\end{itemize}

\section{Objectifs vis\'es}
\subsection{Ajouter des nouveaux types de questions}
\begin{itemize}
\item Des questions li\'ees logiquement (par exemple demander le
  nombre d'heures qu'un \'etudiant travaille seulement s'il a
  r\'epondu par oui \`a la question s'il travialle).

\item Des questions \`a valeurs multiples o\`u le choix d'une valeur
  implique le choix de toutes les valeurs qui la pr\'ecedent dans la
  liste de choix possibles.

\begin{verbatim}
Exemple:
Combien d'heures par semaine travailler vous?
  moins de 5h _o_ , moins de 10h _X_  , plus de 10h _o_.
\end{verbatim}
Ici le choix de 'moins de 10h' implique que 'moins de 5h' est aussi v\'erifi\'e.

\end{itemize}


\subsection{nouveaux types de statistiques}
\begin{itemize}
\item Impl\'ementer des statistiques convenables aux questions ThenNow

\item Statistiques crois\'ees - quelles sont les fr\'equences
  relatives des r\'eponses \`a la question A en fonction des r\'eponses
  \`a la quesition B

\includegraphics[width=10cm]{statscroisees}

\item Voir les r\'eponses une par une

\end{itemize}

\subsection{Choix et configuration dynamiques des statistiques}
\begin{itemize}

\item Choix des statistiques lors de la consultation et non lors de la
cr\'eation du questionnaire). Pr\'esenter \`a l'utilisateur une liste
de statistiques convenables pour ce type de question apr\`es avoir
affich\'e les statistiques choisies actuellement.

\includegraphics[width=10cm]{choixstats}

\item Configurer dynamiquement les statistiques ainsi choisies (Ex. choisir
de n'afficher que les 'fr\'equences relatives' pour StatsSimple,
choisir la question \`a la quelle on compare pour les statistiques
crois\'ees). Tout objet impl\'ementant des statistiques, s'il peut
etre configur\'e \`a la consultation, sait afficher non seulement les
stats qui lui sont associ\'ees mais aussi ce qui permet de le
configurer. (Ex. StatsSimple pourait afficher un popup\_menu contenant
('fr\'equences', 'fr\'equences relatives', 'fr\'equences cumul\'ees',
'fr\'equences relatives cumul\'ees') ainsi permettant \`a
l'utilisateur de choisir le/les type des fr\'equences il veut voir.

\tableofcontents
\end{document}
